'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者：cacho_37967865
#博客：https://blog.csdn.net/sinat_37967865
#文件：handelExcel.py
#日期：2018-10-21
#备注：pip install xlwt, pip install xlrd, pip install xlutils，pip install openpyxl
#模块分类：2003以前的表格以.xls后缀，用xlwt来写表格，用xlrd来读取表格；搭配xlutils修改表格
          2007的表格以.xlsx后缀，用 openpyxl 来读写表格。  
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

import os
import xlrd
import xlwt
from xlutils.copy import copy
from openpyxl import load_workbook

def readExcel(folder):
    # 获取指定目录下面的所有文件
    files = os.listdir(folder)
    # 获取xls类型的文件放到一个列表里面
    xlsFiles = [f for f in files if f.endswith(".xls")]
    for xlsFile in xlsFiles:
        print(xlsFile)                               # 打印目标路径下所有文件
        os.chdir(folder)                             # 切换到操作目录
        print("目录地址为：" + os.getcwd())           # 打印当前目录
        data = xlrd.open_workbook(xlsFile)           # 打开excle文档读取数据
        table = data.sheets()[0]                     # 通过索引顺序获取
        table2 = data.sheet_by_index(0)              # 通过索引顺序获取
        table3 = data.sheet_by_name('sample')        # 通过名称获取　　　
        nrows = table.nrows                          # 获取行数
        ncols = table.ncols                          # 获取列数

        print(xlsFile,"文件行数：",nrows)
        print(xlsFile,"文件列数：",ncols)


        # 获取具体单元格数据获取
        cell_A1 = table.cell(0, 0).value
        cell_C4 = table.cell(2, 3).value
        # print(cell_A1,cell_C4)

        # 使用行和列进行索引查找
        cell_A1 = table.row(0)[0].value
        cell_A2 = table.col(1)[0].value
        # print(cell_A1, cell_A2)

        # 数据类型判断
        ctype1 = table.cell(1, 1).ctype     # 第一行第1列数据类型
        ctype2 = table.cell(1, 2).ctype    # 第一行第2列数据类型
        print('数据类型：0-empty,1-string, 2-number, 3-date, 4-boolean, 5-error',ctype1,ctype2)

        for i in range(nrows):
            className = table.cell_value(i, 0)
            filename = table.cell_value(i, 1)
            print(className,filename)

def writeExcel(file_path):
    wb = xlwt.Workbook()                          # 打开一个空白excel
    sheet = wb.add_sheet("测试2003 .xls表格")      # 添加表格名称
    value = [["姓名", "年龄", "电话", "婚姻状况"],
             ["范彬彬", "22", "18888888888", "已婚"],
             ["袁姗姗", "25", "18999999999", "未婚"],
             ["刘德华", "50", "17777777777", "已婚"],
             ["张学友", "55", "15555555555", "已婚"],
             ["郭富城", "55", "13333333333", "已婚"]]
    for i in range(0,len(value)):
        for j in range(0,len(value[i])):
            sheet.write(i,j,value[i][j])           # i,j 分别代表行和列

    wb.save(file_path)
    print("写入表格成功！！！")

def xlsx_open(file):
    data = load_workbook(file)
    sheets = data.sheetnames   # 获取所有sheet  ['sheet',sheet1']
    table = data[sheets[0]]    # 获取第一个sheet内容
    nrows = table.max_row
    print('xlsx格式sheet页总行数为：',nrows)
    name = table.cell(row=1, column=1).value  # 第1行第1列开始
    print(name)


if __name__ == '__main__':
    #readExcel("F:\SoftwareTest")
    #writeExcel('F:\PythonProject\PythonLession\RecordModule\sample\测试2003.xls')
    xlsx_open('E:\zenglingwei\项目信息\\13.海拍客\测试\\upload.xlsx')



